package org.dromara.hm.domain.vo;

import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.hm.domain.HmOrderTransferHistory;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 订单归属转移历史视图对象 hm_order_transfer_history
 *
 * @author Hzy
 * @date 2025-06-13
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = HmOrderTransferHistory.class)
public class HmOrderTransferHistoryVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 订单转移记录ID
     */
    @ExcelProperty(value = "订单转移记录ID")
    private Long orderTransferHistoryId;

    /**
     * 关联的客户转移记录ID
     */
    @ExcelProperty(value = "关联的客户转移记录ID")
    private Long customerTransferHistoryId;

    /**
     * 销售订单ID
     */
    @ExcelProperty(value = "销售订单ID")
    private Long saleOrderId;

    /**
     * 客户ID
     */
    @ExcelProperty(value = "客户ID")
    private Long customerId;

    /**
     * 客户名称
     */
    @Translation(type = TransConstant.CUSTOMER_ID_TO_NAME, mapper = "customerId")
    private String customerName;

    /**
     * 原销售人员ID
     */
    @ExcelProperty(value = "原销售人员ID")
    private Long oldSaleUser;

    /**
     * 原销售人员姓名
     */
    @ExcelProperty(value = "原销售人员姓名")
    private String oldSaleUserName;

    /**
     * 新销售人员ID
     */
    @ExcelProperty(value = "新销售人员ID")
    private Long newSaleUser;

    /**
     * 新销售人员姓名
     */
    @ExcelProperty(value = "新销售人员姓名")
    private String newSaleUserName;

    /**
     * 原销售店铺ID
     */
    @ExcelProperty(value = "原销售店铺ID")
    private Long oldSaleDept;

    /**
     * 原销售店铺名称
     */
    @ExcelProperty(value = "原销售店铺名称")
    private String oldSaleDeptName;

    /**
     * 新销售店铺ID
     */
    @ExcelProperty(value = "新销售店铺ID")
    private Long newSaleDept;

    /**
     * 新销售店铺名称
     */
    @ExcelProperty(value = "新销售店铺名称")
    private String newSaleDeptName;

    /**
     * 操作人ID
     */
    @ExcelProperty(value = "操作人ID")
    private Long operatorId;

    /**
     * 操作人姓名
     */
    @ExcelProperty(value = "操作人姓名")
    private String operatorName;

    /**
     * 状态（0正常 1已撤销）
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=正常,1=已撤销")
    private String status;


}
